package cc.rengu.igas.bsps.core.realize;

import cc.rengu.igas.bsps.facade.base.Header;
import cc.rengu.oltp.service.common.entity.MchntOrderInfo;
import cc.rengu.oltp.service.common.entity.UserOrderInfo;

/*
 * Create by fuyp on 2020-5-15
 * 营销服务处理组件
 * Copy By MCPS
 */
public interface BspsComboDealService {

    /**
     * 营销合并支付
     */
    void comboPayment(UserOrderInfo userOrderInfo, MchntOrderInfo mchntOrderInfo, Header header) throws Exception;

    /**
     * 对客营销,与合并支付区别在于不计算对商户营销
     */
    void forClientPayment(UserOrderInfo userOrderInfo, MchntOrderInfo mchntOrderInfo, Header header) throws Exception;

    // /**
    //  * 营销退货(退款使用,退款服务使用share退款)
    //  * @param mchntOrderInfo 退款的商户订单对象
    //  * @param orimchntOrderInfo  原支付的商户订单
    //  * @param hearder 报文头
    //  *
    //  */
    // void comboRefund(MchntOrderInfo mchntOrderInfo, MchntOrderInfo orimchntOrderInfo, Header header) throws Exception;

    /**
     * 营销冲正
     *
     * @param oriSysSeqNum 原支付交易系统流水号
     * @param header       报文头
     */
    void cancelComboPayment(String oriSysSeqNum, Header header) throws Exception;
}
